ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
    // 迭代
    ListNode *prehead = new ListNode(-1); // 设置一个头结点
    ListNode *pre = prehead;
    while(list1 && list2)
    {
        if(list1->val < list2->val)
        {
            pre->next = list1;
            list1 = list1->next;
        }
        else
        {
            pre->next = list2;
            list2 = list2->next;
        }
        pre = pre->next;
    }

    pre->next = list1 ? list1 : list2;
    return prehead->next;
    }